Документация пользователя
Установка и запуск приложения
Скачать приложение можно с репозитория
https://github.com/ArtyomI69/TuringMachine
В репозитории присутствует 2 файла:
run.bat – Windows
run.sh – MacOs, Linux
Структура GUI
Программа состоит из трёх частей
1. Вкладки
2. Часть программы, которая отображается в зависимости от выбранной
вкладки
3. Панель управления машиной Тьюринга (Переход в начало/конец,
пауза/продолжение) и кнопка инициализации машины, которая
загорается зелёной или красной в зависимости от успешного
инициализации машины или нет:
Вкладки
3 вкладки:
Вкладка Tabular
Tabular – лента машины Тьюринга и представление программы из стартового
состояния в виде таблицы
1. Лента
2. Табличное представление программы
Вкладка Program
Program – работа с текстовым представлением машины Тьюринга, загрузка
стартовых состояний, программы, текущего состояния программы
1. Текстовое представление программы
2. Стартовое состояние
3. Текущее состояние
4. Загрузка программы с файла
5. Сохранение текущей программы в файл
6. Загрузка стартового состояния с файла
7. Сохранение стартового состояния в файл
8. Установление текущего состояния в начальное состояние
9. Сохранение текущего состояния в файл
Вкладка Opons
Options – вкладка предназначена для задачи скорости передвижения машины
между тиками
1. Скорость передвижения каретки между тиками (в секундах)
2. Скорость передвижения каретки между тиками (сколько тиков пройдёт
каретка за 1 секунду)
Панель управления машиной Тьюринга
1. Возвращение в исходное состояние
2. Продолжение/пауза программы
3. Переход к самому последнему тику (завершение программы)
4. Лента с тиками. Синим подсвечивается текущий тик
5. Состояния программы
Зелёное состояния - программа инициирована,
начальное состояние
Синее состояние - программа в работе
Жёлтое состояние - программа на паузе
Фиолетовое состояние - программа завершена
Работа программы
В репозитории присутствует папка ConsoleTest где присутствует тестовое
начальное состояние и программа
Нажав на кнопки Load загрузим нашу программу
Программа загрузилась и успешно инициализировалась (загорается зелёный
цвет):
В Timeline’е синим подсвечивается текущий тик
Back to start – переход к нулевому состояния (машина инициируется ещё раз)
Resume/Pause – программа начинает своё выполнение со скоростью,
указанной в опции/программа останавливается, состояние машины меняется
на жёлтый
Go to End – выполнение программы с максимальной скоростью
Если машина завершила свою работу или программа не может выйти в
следующий тик, то состояние меняется на фиолетовое
При нажатии на тик в Timeline будет попытка перехода к нему
Вид программы в вкладке Tabular, где синим подсвечивается текущее
состояние
Изменение значений ячеек невозможно, если программа находится не в
нулевом состоянии.
В стартовом состоянии можно нажать на ячейку ленты и указать состояние и
при этом стартовое состояние (starting state) программы во вкладке Tabular
изменится
Чтобы осуществить переход из одного состояния в другое, необходимо
нажать ячейку в таблице откуда мы хотим перейти, а затем нажать на ячейку
куда мы хотим перейти, после чего открывается модальное окно с выбором
направления перехода(вправо, влево, остаться на месте). При этом
программа(Program) во вкладке Program изменится.
Решение задачи “Шифр Цезаря”
Шифр Цезаря — это метод шифрования, в котором каждая буква сообщения
заменяется другой буквой алфавита с определенным сдвигом. Например, при
сдвиге на 3 буква "А" заменяется на "Г", "Б" на "Д" и так далее. Для
расшифровки сообщения необходимо знать величину сдвига и применить
обратную операцию.
Инициализация программы:
В строковом виде:
В табличном виде:
Прохождение программы:
Результат программы:
В табличном виде:
В строковом виде:
Репозиторий
https://github.com/ArtyomI69/TuringMachine